.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This text is in the public domain.
.\" %%%LICENSE_END
.\"
.TH NFSSERVCTL 2 2021-03-22 "Linux" "Linux Programmer's Manual"
.SH NAME
nfsservctl \- syscall interface to kernel nfs daemon
.SH SYNOPSIS
.nf
.B #include <linux/nfsd/syscall.h>
.PP
.BI "long nfsservctl(int " cmd ", struct nfsctl_arg *" argp ,
.BI "                union nfsctl_res *" resp );
.fi
.SH DESCRIPTION
.IR Note :
Since Linux 3.1, this system call no longer exists.
It has been replaced by a set of files in the
.I nfsd
filesystem; see
.BR nfsd (7).
.PP
.in +4n
.EX
/*
 * These are the commands understood by nfsctl().
 */
#define NFSCTL_SVC        0  /* This is a server process. */
#define NFSCTL_ADDCLIENT  1  /* Add an NFS client. */
#define NFSCTL_DELCLIENT  2  /* Remove an NFS client. */
#define NFSCTL_EXPORT     3  /* Export a filesystem. */
#define NFSCTL_UNEXPORT   4  /* Unexport a filesystem. */
#define NFSCTL_UGIDUPDATE 5  /* Update a client\(aqs UID/GID map
                                (only in Linux 2.4.x and earlier). */
#define NFSCTL_GETFH      6  /* Get a file handle (used by mountd)
                                (only in Linux 2.4.x and earlier). */

struct nfsctl_arg {
    int                       ca_version;     /* safeguard */
    union {
        struct nfsctl_svc     u_svc;
        struct nfsctl_client  u_client;
        struct nfsctl_export  u_export;
        struct nfsctl_uidmap  u_umap;
        struct nfsctl_fhparm  u_getfh;
        unsigned int          u_debug;
    } u;
}

union nfsctl_res {
        struct knfs_fh          cr_getfh;
        unsigned int            cr_debug;
};
.EE
.in
.SH RETURN VALUE
On success, zero is returned.
On error, \-1 is returned, and
.I errno
is set to indicate the error.
.SH VERSIONS
This system call was removed from the Linux kernel in version 3.1.
Library support was removed from glibc in version 2.28.
.SH CONFORMING TO
This call is Linux-specific.
.SH SEE ALSO
.BR nfsd (7)
.SH COLOPHON
This page is part of release 5.13 of the Linux
.I man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
\%https://www.kernel.org/doc/man\-pages/.
